package com.example.mapper;

import com.example.pojo.*;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface AdminMapper {
//    List<Teacher> getTeacher();
    

    List<Patriarch> getParent();



    Integer getTeacherCount();

    List<Teacher> getTeacherAll(Integer start, Integer size, String name, String username, Integer gradeClassId, String object);


    Integer getPatriarchCount();
    List<Patriarch> getPatriarchAll(Integer start, Integer size, String name, String username, Integer gradeClassId, String studentName);


    void updateParent(Patriarch patriarch);

    void updateTeacher(Teacher teacher);

    Integer getStudentCount();

    List<Student> getStudentAll(Integer start, Integer size, String name, Integer gender, Integer gradeClassId);

    void updateStudent(Student student);

    void addStudent(Student student);


    void addTeacher(Teacher teacher);

    void addParent(Patriarch patriarch);


    Integer seletAllPlan();

    List<Plan> getAllPlan(Integer start, Integer size, String title, String content, String teacherName);

    void updatePlan(Plan  plan);

    void addPlan(Plan  plan);

    void delPlan(Integer id);

    Integer seletAllProgress();

    List<Progress> getAllProgress(Integer start, Integer size, String title, String content, String teacherName);

    void updateProgress(Progress progress);

    void addProgress(Progress progress);

    Integer seletAllHomeWork();

    List<HomeWork> getAllHomeWork(Integer start, Integer size, String title, String content, String teacherName);

    List<StudentHomeWork> selectDateHomeWork(Integer id);

    void addHomeWork(HomeWork homeWork);

    void delHomeWork(HomeWork homeWork);


    Integer selHomework();

    Integer selPlan();

    Integer selProgress();

    Integer selTask();

    Integer selAnnouncemen();

    Integer selStudent();

    Integer selStudentBoy();

    Integer hwComCount();

    Integer hwStayCount();

    Integer shwCount();

    void delProgress(Integer id);

    Integer seletAllTask();

    List<Task> getAllTask(Integer start, Integer size, String title, String content, String teacherName);

    List<StudentTask> selectDateTask(Integer id);

    void addTask(Task task);

    void delTask(Task task);

    void addAnnoun(Announcemen announcemen);

    List<Announcemen> getAllAnnoun(LocalDateTime localDateTime);

    Teacher getName(String username);

    void addTest(Test test);

    List<Test> getAllTest(LocalDateTime localDateTime);
}
